/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Treino;

import Geral.ErroInternoException;
import Usuario.Usuario;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author Ivson
 */
@Stateless
public class CadastroTreino {

    @EJB
    private IRepositorioTreino repTreino;

    public CadastroTreino() {

    }

    public void adicionar(Treino treino) throws ErroInternoException, TreinoExistenteException {
        try {
            Treino treino2 = this.repTreino.buscarTreino(treino.getId());
            if (treino2 != null) {
                throw new TreinoExistenteException();
            }
        } catch (TreinoInexistenteException e) {
            this.repTreino.adicionar(treino);
        }
    }

    public Treino buscarTreino(long id_treino) throws ErroInternoException, TreinoInexistenteException {
        try {
            return this.repTreino.buscarTreino(id_treino);
        } catch (ErroInternoException e) {
            throw new ErroInternoException(e);
        }
    }

    public void atualizar(Treino treino) throws ErroInternoException, TreinoInexistenteException {
        this.repTreino.atualizar(treino);
    }

    public void remover(long id_treino) throws ErroInternoException, TreinoInexistenteException {
        this.repTreino.remover(id_treino);
    }

    public List<Treino> listaTreino(Treino treino) throws ErroInternoException {
        return this.repTreino.listaTreino(treino);
    }

    public List<Usuario> listaUsuarioTreino(Usuario usuario) throws ErroInternoException {
        return this.repTreino.listaUsuarioTreino(usuario);
    }
}
